package com.kaifamiao.date1109;

/**
 * 1、使用 == 运算符可以比较两个值是否相等 (我管你是什么值，反正我就比较你俩是否相等)
 * 2、在 java.lang.Object 类中的 equals 方法用来比较 内存地址 是否"相等"
 * 3、子类重写 java.lang.Object 类的 equals 方法后比较什么，取决于怎么重写该方法
 */
public class RoosterTest {

	public static void main(String[] args) {
		
		int a = 100 ;
		long b = 100 ;
		// 使用 == 运算符比较两个变量中存储值是否相等
		System.out.println( a == b );
		// 使用 == 运算符比较两个方法的返回值是否相等
		System.out.println( addition( 2 , 3 ) == subtract( 7 ,  2 ) );
		// 使用 == 运算符比较某个方法的返回值是否等于指定值
		System.out.println( addition( 2 , 3 ) == 5 );
		System.out.println( 5 == subtract( 7 ,  2 ) );
		
		Rooster first = new Rooster( "昴日星官" , 50 , 800 );
		Rooster second = new Rooster( "昴日星官" , 50 , 800 );
		// 使用 == 运算符比较两个变量中存储值是否相等
		System.out.println( first == second ); // false
		
		System.out.println( first.equals( second ) ); // true
		System.out.println( second.equals( first ) ); // true
		
		Rooster third = second ;
		System.out.println( third == second ); // true
		System.out.println( third.equals( second ) ); // true
		
	}
	
	public static int addition( int a , int b ) {
		return a + b ;
	}
	
	public static int subtract( int a , int b ) {
		return a - b ;
	}

}
